package com.yupi.yuaicodemother.ai;

import cn.hutool.db.PageResult;
import com.yupi.yuaicodemother.ai.model.AIProcessCode;
import com.yupi.yuaicodemother.model.vo.AppProjectsListRespVO;
import com.yupi.yuaicodemother.model.vo.AppProjectsPageReqVO;
import dev.langchain4j.service.SystemMessage;

public interface AIProcessCodeService {

    /**
     * 生成sql代码
     * @param
     * @return
     */
    @SystemMessage(fromResource = "prompt/step/CreateSQL.txt")
    AIProcessCode CreateSQLCode(String userMessage);

    /**
     * 生成controller代码
     * @param
     * @return
     */
    @SystemMessage(fromResource = "prompt/step/CreateController.txt")
    AIProcessCode CreateControllerCode(String userMessage);

    /**
     * 生成service代码
     * @param
     * @return
     */
    @SystemMessage(fromResource = "prompt/step/CreateService.txt")
    AIProcessCode CreateServiceCode(String userMessage);

    /**
     * 生成VO代码
     * @param
     * @return
     */
    @SystemMessage(fromResource = "prompt/step/CreateVO.txt")
    AIProcessCode CreateVOCode(String userMessage);

    /**
     * 生成DO代码
     * @param
     * @return
     */
    @SystemMessage(fromResource = "prompt/step/CreateDO.txt")
    AIProcessCode CreateDOCode(String userMessage);

    /**
     * 生成serviceImpl代码
     * @param
     * @return
     */
    @SystemMessage(fromResource = "prompt/step/CreateServiceImpl.txt")
    AIProcessCode CreateServiceImplCode(String userMessage);

    /**
     * 生成mapper代码
     * @param
     * @return
     */
    @SystemMessage(fromResource = "prompt/step/CreateMapper.txt")
    AIProcessCode CreateMapperCode(String userMessage);

     /**
     * 生成vue代码
     * @param
     * @return
     */
    @SystemMessage(fromResource = "prompt/step/CreateVue.txt")
    AIProcessCode CreateVueCode(String userMessage);
}
